'''

3
0
fang 90
yang 50
ning 70
'''



class Solution:
    '''
    两个问题：
    1. 有重名
    2. 不仅要对分数排名，还要对名字排序
    sorted局限性，没法对同分数的姓名进行排序
    内部.sort方法可以先对分数排序，再对同分个体进行排序
    '''
    def sort_score(self):
        mem_num = int(input())   # 成员个数
        sort_type = int(input()) # 排序方式 0降序，1升序
        if mem_num == 0:
            return
        # res = []

        # temp_dict = dict() # 可能有重复名字的，所以不能用字典
        temp_list = []
        for i in range(mem_num):
            temp_s = input().split(' ')
            temp_list.append(temp_s)
            # temp_dict[temp_s[0]] = int(temp_s[1])

        if sort_type: # 1 升序
            # res = sorted(temp_dict.items(), key=lambda x:x[1]) #不能用字典
            temp_list.sort(key=lambda x:int(x[1])) # 不能使用等号赋值给res，.sort方法返回的是None
        else:         # 0 降序
            # res = sorted(temp_dict.items(), key=lambda x:x[1], reverse=True) # 不能用字典
            temp_list.sort(key=lambda x: int(x[1]), reverse=True)
            # print(type(res))

        for i in temp_list:
            str_temp = i[0] + ' ' + str(i[1])
            print(str_temp)


s = Solution()
s.sort_score()



def Solution02():
    n = int(input())
    order, ls = int(input()), [input().split() for _ in range(n)]
    ls.sort(key=lambda x: int(x[1]), reverse=not order)  # 注意要转换成整型比较
    for i in ls:
        print(i[0], i[1])








